package org.bmi.gwt.examples.transaction.shared;

import java.util.Date;

import org.bmi.gwt.mi.shared.MiProxy;
import org.bmi.gwt.mi.shared.annotations.TargetMiObjectClass;
import org.bmi.gwt.mi.shared.communication.var.ReturnVar;

@TargetMiObjectClass(miObjectClass = MethodsTestObject.class)
public interface MethodsTestProxy extends MiProxy
{
	/*
	 * This proxy object alternates methods from object class it points.
	 * 
	 * Here instead of normal values are returned/provided proxy elements to
	 * explain how to use such elements within a transaction.
	 */
	public ReturnVar<Date> returnDate(String str);

	public void provideDate(ReturnVar<Date> date);

	public MethodsTestProxy getObjectCopy();

	public MethodsTestProxy wrap(MethodsTestProxy obj);
}
